The present invention relates to an image processing apparatus and method which develops a bitmap image from, e.g., print information (page object) of one page.
Conventional image processing apparatuses of this type generate multivalued data at a high resolution. For this reason, the capacity of a print memory necessary for developing print information into a bitmap image increases, prolonging the processing time for development. To reduce the required memory capacity, a page is divided into a plurality of bands which are perpendicular to the paper conveyance direction, and bitmap image areas for just two bands, i.e., band memories, are ensured on the print memory. In print processing, a bitmap image in a band memory is transferred to the printer engine while a bitmap image of the next band is developed in another band memory. With this processing, image data can be output in units of pages without arranging any print memory for one page, resulting in cost reduction of the print processing unit. In addition, since development of a bitmap image in a band memory and transfer of a bitmap image from another band memory to the engine are simultaneously performed, the processing speed can be increased.
However, in an electrophotographic printing apparatus such as a laser beam printer, the print sequence by the printer engine can hardly be stopped during printing a page. For this reason, when a page is to be divided into bands, and development of a bitmap image and transfer of a bitmap image to the engine are to be performed in units of bands, development of the bitmap image of a band which is to be transferred next must be complete before the bitmap image of a band is completely transferred to the printer engine, i.e., a time limit is present. The print memory for storing a page object, i.e., print information of one page also has a limited capacity.
Information as the base for generating a bitmap image will be referred to as print information. The print information is described by, e.g., a page description language. An image element included in the print information will be referred to as an image object. Print information of one page, i.e., a group of image objects of one page will particularly be referred to as a page object.
In the conventional image processing apparatus, to cope with the above-described limitations, the print information generation unit predicts the time required for developing the respective divided band bitmap images. If the prediction result indicates that one of the bands cannot be developed within the time required for printing one band by the engine, or if the memory capacity necessary for the page object is larger than the capacity of the print memory, print processing is not performed in units of bands. Instead, an area for storing a bitmap image of one page is ensured in the print memory. After the bitmap image is completely developed from the page object of one page, the developed bitmap image is transferred to the engine. With this processing, print processing is guaranteed.
However, since a large memory capacity is required to store a bitmap image of one page on the print memory, the bitmap image are subjected to data compression in units of bands and stored. With this method, print processing is performed using a small memory capacity. More specifically, the bitmap image is printed in units of bands from the page object generated in the print memory, reversible data compression is performed for the developed bitmap image of each band (to be referred to as a band bitmap image hereinafter), and the compressed data is written in the print memory. Upon completion of development of one band, print information of this band is deleted, thereby increasing the usable area of the print memory. Bitmap images can be sequentially developed and continuously printed by using the usable area.
When the bitmap image of a band including a new object which is to be developed next has already been generated for another object and compressed, the compressed band bitmap image is temporarily expanded and reconstructed. The bitmap image of the object is overwritten on the reconstructed band bitmap image, and the band bitmap image is subjected to data compression again and written in the print memory.
When the print information of one page is completely printed as band bitmap images, the bitmap image data which is compressed in units of bands is expanded and transferred to the printer engine as a band bitmap image, and actually printed.
The first problem in the conventional image processing is as follows. If it is determined, for a page to be printed, that there is a band which cannot be developed within the time required for completely printing one band, print processing and data compression for the bitmap images of all bands of one page are performed even when the memory capacity is sufficient. Consequently, after the band bitmap image is generated and compressed, the compressed band must be expanded to print a new object on the band. When a data compression algorithm using a high compression ratio is used, compression/expansion processing requires a much longer time. Therefore, repetition of compression/expansion processing for all bands takes a long time, resulting in a decrease in overall throughput.
The second problem is that only reversible compression is used as a method of compressing a bitmap image. Generally, reversible compression or irreversible compression is used to compress image data. Print information such as a character image has a relatively small change in color. Therefore, in many cases, a satisfactory compression ratio can be obtained even with reversible compression such as run length encoding. However, for image information such as a natural image having a relatively large change in color, no high compression ratio can be obtained with reversible compression.
In irreversible compression represented by JPEG, a degradation in image quality is hardly visually recognizable for print information such as a natural image having a large change in color. Therefore, the compression ratio can be increased by using irreversible compression. On the other hand, for print information such as a character image, a degradation in edge due to irreversible compression is likely to be visually recognizable, so the irreversible compression cannot be used.